home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / answers / comp / free-compilers / part4 < prev    next >
Text File  |  1994-04-01  |  55KB  |  1,391 lines

  1. Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
  2. Path: bloom-beacon.mit.edu!hookup!news.moneng.mei.com!howland.reston.ans.net!agate!ihnp4.ucsd.edu!pacbell.com!decwrl!decwrl!olivea!grapevine.lcs.mit.edu!think.com!spdcc!iecc!compilers-sender
  3. From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
  4. Subject: Catalog of compilers, interpreters, and other language tools [p4of5]
  5. Message-ID: <free4-Apr-94@comp.compilers>
  6. Followup-To: comp.lang.misc
  7. Summary: Monthly posting of free language tools that include source code
  8. Keywords: tools, FTP, administrivia
  9. Sender: compilers-sender@chico.iecc.com
  10. Supersedes: <free4-Mar-94@comp.compilers>
  11. Reply-To: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
  12. Organization: Idiom Consulting / Berkeley, CA
  13. References: <free3-Apr-94@comp.compilers>
  14. Date: Fri, 1 Apr 1994 12:00:39 GMT
  15. Approved: compilers@iecc.com
  16. Expires: Sun, 1 May 1994 23:59:00 GMT
  17. Lines: 1371
  18. Xref: bloom-beacon.mit.edu comp.compilers:2737 comp.lang.misc:3643 comp.archives.admin:572 news.answers:17143 comp.answers:4374
  19.  
  20. Archive-name: free-compilers/part4
  21. Last-modified: 1994/3/31
  22. Version: 6.41
  23.  
  24.  
  25. concurrent, parallel, and simulation languages
  26. -------------------------------------------------------------------------------
  27. category:    concurrent, parellel, and simulation languages
  28. description:    This is a fairly broad category of languages.  Most of the
  29.         implementations in this set are not good enough to be used in
  30.         production systems.  Some are.    In addition to those listed
  31.         below, see:
  32. lref:        Concurrent Clean
  33. lref:        Concurrent ML
  34. lref:        EuLisp
  35. lref:        Parallaxis
  36. lref:        Maisie
  37. lref:        micro-C++
  38. lref:        MeldC
  39. lref:        pm2
  40.  
  41. language:    ABCL/1 (An object-Based Concurrent Language)
  42. package:    ABCL/1 
  43. version:    ?
  44. parts:        ?
  45. author:        Akinori Yonezawa, ABCL Group now at Department of Information 
  46.         Science, the University of Tokyo
  47. how to get:    ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
  48. description:    Asynchronous message passing to objects.  
  49. reference:    "ABCL: An Object-Oriented Concurrent System", Edited by 
  50.         Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
  51. restriction:    no commercial use, must return license agreement
  52. requires:    Common Lisp
  53. contact:    abcl@is.s.u-tokyo.ac.jp
  54. updated:    1990/05/23
  55.  
  56. language:    ABCL ???
  57. package:    ABCL/R2
  58. version:    ?
  59. parts:        ?
  60. author:        masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
  61.         takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
  62. how to get:    ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
  63. description:    ABCL/R2 is an object-oriented concurrent reflective language
  64.         based on Hybrid Group Architecture.  As a reflective language,
  65.         an ABCL/R2 program can dynamically control its own behavior,
  66.         such as scheduling policy, from within user-program.  An an
  67.         object-oriented concurrent language, this system has almost all
  68.         functions of ABCL/1.
  69. requires:    Common Lisp
  70. updated:    1993/01/28
  71.  
  72. language:    ALLOY
  73. package:    ALLOY
  74. version:    2.0?
  75. parts:        interpreter, documentation, examples
  76. author:        Thanasis Mitsolides <mitsolid@cs.nyu.edu>
  77. how to get:    ftp pub/local/alloy/* from cs.nyu.edu
  78. description:    ALLOY is a higher level parallel programming language
  79.         appropriate for programming massively parallel computing
  80.         systems.  It is based on a combination of ideas from
  81.         functional, object oriented and logic programming languages.
  82.         The result is a language that can directly support
  83.         functional, object oriented and logic programming styles
  84.         in a unified and controlled framework.    Evaluating modes
  85.         support serial or parallel execution, eager or lazy
  86.         evaluation, non-determinism or multiple solutions etc.
  87.         ALLOY is simple as it only requires 29 primitives in all
  88.         (half of which for Object Oriented Programming support).
  89. ports:        sparc, ?
  90. updated:    1991/06/11
  91.  
  92. language:    Cellang (Cellular Automata)
  93. package:    Cellular
  94. version:    2.0
  95. parts:        byte-code compiler, runtime, viewer
  96. author:        J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
  97. how to get:    comp.sources.unix, volume 26
  98. description:    A system for cellular automata programming.
  99. updated:    1993/04/03
  100.  
  101. language:    Hermes
  102. package:    IBM Watson prototype Hermes system
  103. version:    0.8alpha patchlevel 01
  104. parts:        bytecode compiler, compiler(bytecode->C), runtime
  105. author:        Andy Lowry <lowry@watson.ibm.com>
  106. how to get:    ftp pub/hermes/README from software.watson.ibm.com
  107. description:    Hermes is a very-high-level integrated language and
  108.         system for implementation of large systems and
  109.         distributed applications, as well as for
  110.         general-purpose programming.  It is an imperative,
  111.         strongly typed, process-oriented language.  Hermes
  112.         hides distribution and heterogeneity from the
  113.         programmer.  The programmer sees a single abstract
  114.         machine containing processes that communicate using
  115.         calls or sends.     The compiler, not the programmer,
  116.         deals with the complexity of data structure layout,
  117.         local and remote communication, and interaction with
  118.         the operating system.  As a result, Hermes programs are
  119.         portable and easy to write.  Because the programming
  120.         paradigm is simple and high level, there are many
  121.         opportunities for optimization which are not present in
  122.         languages which give the programmer more direct control
  123.         over the machine.
  124. reference:    Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
  125.         Language for Distributed Computing. Prentice-Hall, Englewood
  126.         Cliffs, NJ.  1991.  ISBN: O-13-389537-8.
  127. ports:        RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
  128. discussion:    comp.lang.hermes
  129. updated:    1992/03/22
  130.  
  131. language:    PCN
  132. package:    PCN
  133. version:    2.0
  134. parts:        compiler?, runtime, linker, libraries, tools, debugger, 
  135.         profiler, tracer
  136. author:        Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
  137.         <tuecke@mcs.anl.gov>, and others
  138. how to get:    ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
  139. description:    PCN is a parallel programming system designed to improve
  140.         the productivity of scientists and engineers using parallel
  141.         computers.  It provides a simple language for specifying
  142.         concurrent algorithms, interfaces to Fortran and C, a
  143.         portable toolkit that allows applications to be developed
  144.         on a workstation or small parallel computer and run
  145.         unchanged on supercomputers, and integrated debugging and
  146.         performance analysis tools.  PCN was developed at Argonne
  147.         National Laboratory and the California Institute of
  148.         Technology.  It has been used to develop a wide variety of
  149.         applications, in areas such as climate modeling, fluid
  150.         dynamics, computational biology, chemistry, and circuit
  151.         simulation.
  152. ports:        (workstation nets): Sun4, NeXT, RS/6000, SGI
  153.         (multicomputers): iPSC/860, Touchstone DELTA
  154.         (shared memory multiprocessors): Symmetry/Dynix
  155. contact:    <pcn@mcs.anl.gov>
  156. updated:    1993/02/12
  157.  
  158. language:    LOOPN
  159. package:    LOOPN
  160. version:    ?
  161. parts:        compiler?, simulator
  162. author:        ?
  163. how to get:    ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
  164. description:    I wish to announce the availability of a compiler, simulator
  165.         and associated source control for an object-oriented petri net
  166.         language called LOOPN.    In LOOPN, a petri net is an extension
  167.         of coloured timed petri nets.  The extension means firstly that
  168.         token types are classes.  In other words, they consist of both
  169.         data fields and functions, they can be declared by inheriting
  170.         from other token types, and they can be used polymorphically.
  171.         The object-oriented extensions also mean that module or subnet
  172.         types are classes.  LOOPN has been developed over a period of
  173.         about 5 years at the University of Tasmania, where it has been
  174.         used in teaching computer simulation and the modelling of
  175.         network protocols.  A petri net is a directed, bipartite graph;
  176.         nodes are either places (represented by circles) or transitions
  177.         (represented by rectangles).  A net is marked by placing tokens
  178.         on places.  When all the places pointing to a transition (the
  179.         input places) have a token, the net may be fired by removing a
  180.         token from each input place and adding a token to each place
  181.         pointed to by the transition (the output places).  Petri nets
  182.         are used to model concurrent systems, particularly in the
  183.         network protocol area.
  184. contact:    Charles Lakos <charles@probitas.cs.utas.edu.au>
  185. updated:    1992/12/20
  186.  
  187. language:    Simula
  188. package:    Lund Simula
  189. version:    4.07
  190. parts:        ?
  191. author:        ?
  192. how to get:    ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
  193. description:    ?
  194. contact:    Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
  195. updated:    1992/05/22
  196.  
  197. language:    SR (Synchronizing Resources)
  198. package:    sr
  199. version:    2.0 
  200. parts:        ?, documentation, tests
  201. author:        ?
  202. how to get:    ftp sr/sr.tar.Z from cs.arizona.edu
  203. description:    SR is a language for writing concurrent programs.
  204.         The main language constructs are resources and
  205.         operations.  Resources encapsulate processes and
  206.         variables they share; operations provide the primary
  207.         mechanism for process interaction.  SR provides a novel
  208.         integration of the mechanisms for invoking and
  209.         servicing operations.  Consequently, all of local and
  210.         remote procedure call, rendezvous, message passing,
  211.         dynamic process creation, multicast, and semaphores are
  212.         supported.
  213. reference:    "The SR Programming Language: Concurrency in Practice", 
  214.         by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings 
  215.         Publishing Company, 1993, ISBN 0-8053-0088-0
  216. ports:        Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
  217.         NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
  218.         Apollo, and others.
  219. discussion:    info-sr-request@cs.arizona.edu
  220. contact:    sr-project@cs.arizona.edu
  221. updated:    1992/09/01
  222.  
  223. language:    UNITY
  224. package:    MasPar Unity
  225. version:    1.0
  226. parts:        translator(UNITY->MPL), documentation
  227. author:        Martin Huber, University of Karlsruhe, Germany
  228. how to get:    ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
  229. description:    ?
  230. contact:    Lutz Prechelt <prechelt@ira.uka.de>
  231. updated:    ?
  232.  
  233. language:    UNITY
  234. package:    HOL-UNITY
  235. version:    2.1
  236. parts:        verification tool
  237. author:        ?
  238. how to get:    ?
  239. description:    ?
  240. contact:    Flemming Andersen <fa@tfl.dk> ?
  241. updated:    ?
  242.  
  243. Forth family languages
  244. -------------------------------------------------------------------------------
  245. category:    Forth family languages
  246. description:    These are the stack-based postfix languages.  
  247. lref:        Postscript
  248. iref:        (mc6809) 6809, E-Forth
  249.  
  250. language:    Forth
  251. package:    TILE Forth
  252. version:    2.1
  253. parts:        interpreter
  254. author:        Mikael Patel <mip@sectra.se>
  255. how to get:    ftp tile-forth-2.1.tar.Z from a GNU archive site
  256. description:    Forth interpreter in C; many Forth libraries
  257. conformance:    Forth83
  258. restriction:    shareware/GPL
  259. ports:        unix
  260. updated:    1991/11/13
  261.  
  262. language:    Forth
  263. package:    cforth
  264. version:    ?
  265. parts:        interpreter
  266. author:        ?
  267. how to get:    comp.sources.unix archive volume 1
  268. description:    ?
  269. updated:    ?
  270.  
  271. language:    Forth
  272. package:    pfe (Portable Forth Environment)
  273. version:    0.8.0
  274. parts:        ?
  275. author:        Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
  276. how to get:    ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
  277. description:    A Forth development system that tries to be correct,
  278.         complete, portable, usable and simple.    It doesn't try too
  279.         hard to be fast.
  280. conformance:    all dpANS word sets
  281. ports:        Linux, RS/6000, HP-UX
  282. portability:    high
  283. updated:    1993/08/11
  284.  
  285. language:    Forth
  286. package:    F68K
  287. version:    ?
  288. parts:        ?
  289. author:        ?
  290. how to get:    ftp atari/Languages/f68k.* from archive.umich.edu
  291. description:    a portable Forth system for Motorola 68k computers
  292. ports:        Atari ST/TT, Amiga, Sinclair QL and OS9
  293. portability:    very high for 68000 based systems
  294. contact:    Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
  295. updated:    1992/12/14
  296.  
  297. language:    Forth
  298. package:    51forth
  299. version:    ?
  300. parts:        ?
  301. author:        Scott Gehmlich
  302. how to get:    ftp giovanni/51forth.zip from [130.123.96.9]
  303. description:    source and documentation for a 8051 subroutine-
  304.         threaded forth
  305. contact:    ?
  306. updated:    1993/04/03
  307.  
  308. language:    Mops
  309. package:    Mops
  310. version:    2.3.1
  311. parts:        compiler, documentation, editor
  312. author:        Michael Hore <mikeh@kralizec.zeta.org.au>
  313. how to get:    ftp pub/Yerk/? from oddjob.uchicago.edu
  314. description:    Like Yerk, Mops is descended from the ex-commercial
  315.         object-oriented language Neon. Mops features an
  316.         optimizing native-code compiler; it is much faster
  317.         than Yerk, but less compatible with Neon. Mops
  318.         includes extensions such as multiple inheritance.
  319. ports:        Macintosh
  320.  
  321. language:    Kevo (Forth-like)
  322. package:    kevo
  323. version:    0.9b6
  324. parts:        interpreter, demo programs, user's guide, papers
  325. author:        Antero Taivalsaari <tsaari@cs.uta.fi>
  326. how to get:    ftp /pub/kevo/* from cs.uta.fi
  327. description:    Kevo is a prototype-based object-oriented language for
  328.         Macintosh Kevo features a unique prototype-based object model
  329.         (which is based neither on classes nor Self-style delegation),
  330.         multitasking (both preemptive and cooperative), dynamic memory
  331.         management, and an icon-based object browser and editor modeled
  332.         loosely after Mac Finder. Kevo has been built around a portable
  333.         threaded code interpreter, and is syntactically a close
  334.         derivative of Forth.
  335. ports:        Macintosh
  336. contact:    kevo-interest@ursamajor.uvic.ca
  337. updated:    1993/05/18
  338.  
  339. language:    Yerk
  340. package:    Yerk
  341. version:    3.62
  342. parts:        ?
  343. author:        ?
  344. how to get:    ftp pub/Yerk/? from oddjob.uchicago.edu
  345. description:    Yerk is an object oriented language based on a
  346.         Forth Kernel with some major modifications.  It
  347.         was originally known as Neon, developed and sold
  348.         as a product by Kriya Systems from 1985 to 1989.
  349.         Several of us at The University of Chicago have
  350.         maintained Yerk since its demise as a product.
  351.         Because of the possible trademark conflict that
  352.         Kriya mentions, we picked the name Yerk, which is
  353.         at least not an acronym for anything, but rather
  354.         stands for Yerkes Observatory, part of the Department
  355.         of Astronomy and Astrophysics at U of C.
  356. updated:    ?
  357.  
  358.  
  359. compiler generators and related tools
  360. -------------------------------------------------------------------------------
  361. category:    compiler generators and related tools
  362. description:    Yacc, and the rest of its family
  363.  
  364. language:    ABC
  365. package:    Grammar analysis tools
  366. version:    1
  367. parts:        analysis tools, samples, documentation
  368. author:        Steven Pemberton <Steven.Pemberton@cwi.nl>
  369. how to get:    ftp programming/languages/abc/examples/grammar/*
  370.         from ftp.eu.net or ftp.nluug.net
  371. description:    Grammar analysis program written in ABC (q.v.) for
  372.         answering such questions as "what are the start
  373.         symbols of all rules", "what symbols can follow this
  374.         symbol", "which rules are left recursive", and so on.
  375.         Includes a grammar of ISO Pascal.
  376. reference:    Ftp archive includes an article explaining the package.
  377. ports:        unix, MSDOS, atari, mac 
  378. contact:    Steven.Pemberton@cwi.nl
  379. updated:    1993/07/05
  380.  
  381. language:    ? attribute grammar ?
  382. package:    Alpha
  383. version:    pre-release
  384. parts:        semantic-analysis generator?, documentation(german)
  385. author:        Andreas Koschinsky <koschins@cs.tu-berlin.de>
  386. how to get:    from author
  387. description:    I have written a compiler generator. The generator is called
  388.         Alpha and uses attribute grammars as specification calculus.
  389.         Alpha is the result of a thesis at Technische Universitaet
  390.         Berlin. I am looking for someone who would like to test and use
  391.         Alpha.    Alpha generates compilers from a compiler
  392.         specification. This specification describes a compiler in
  393.         terminology of attribute grammars. Parser and Scanner are
  394.         generated by means of Bison and Flex.  Alpha generates an
  395.         ASE-evaluator (Jazayeri and Walter).  The documentation is in
  396.         german since it is a thesis at a german university.
  397. updated:    1993/02/16
  398.  
  399. language:    attribute-grammar extension of Yacc and Lex
  400. package:    Ox
  401. version:    G1.01
  402. parts:        Yacc/Lex/C preprocessor, tutorial, reference manual,
  403.         man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
  404.         Fortran)
  405. author:        Kurt Bischoff <bischoff@cs.iastate.edu>
  406. how to get:    ftp pub/ox/* from ftp.cs.iastate.edu
  407. description:    Ox generalizes the function of Yacc in the way that attribute
  408.         grammars generalize context-free grammars.  Ordinary Yacc and
  409.         Lex specifications may be augmented with definitions of
  410.         synthesized and inherited attributes written in C syntax.  Ox
  411.         checks these specifications for consistency and completeness,
  412.         and generates from them a program that builds and decorates
  413.         attributed parse trees.     Ox accepts a most general class of
  414.         attribute grammars.  The user may specify postdecoration
  415.         traversals for easy ordering of side effects such as code
  416.         generation.  Ox handles the tedious and error-prone details of
  417.         writing code for parse-tree management, so its use eases
  418.         problems of security and maintainability associated with that
  419.         aspect of translator development.  Ox is a preprocessor,
  420.         and extends the syntax and semantics of Yacc, Lex, and C.
  421. reference:    Most compiler textbooks have descriptions of attribute
  422.         grammars.
  423. features:    LALR(1), semantic-analyzer generation.
  424. bugs:        none known.  Report bugs to ox-project@cs.iastate.edu.
  425. restriction:    Use of Ox is free.  Ox-generated code is the property of
  426.         the Ox user.
  427. ports:        Unix
  428. contact:    ox-request@cs.iastate.edu
  429. updated:    1993/11/14
  430.  
  431. language:    BNF (Extended)
  432. package:    Gray
  433. version:    3
  434. parts:        parser generator(Forth)
  435. author:        Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
  436. how to get:    author; version 2 is on various ftp sites
  437. description:    Gray is a parser generator written in Forth.  It takes 
  438.         grammars in an extended BNF and produces executable Forth 
  439.         code for recursive descent parsers.  There is no special 
  440.         support for error handling.
  441. requires:    Forth
  442. ports:        TILE Release 2 by Mikael Patel
  443. updated:    1992/05/22
  444.  
  445. language:    BNF ??
  446. package:    ZUSE
  447. version:    ?
  448. parts:        parser generator(?)
  449. author:        Arthur Pyster
  450. how to get:    ? Univ Calif at Santa Barbara ?
  451. description:    ll(1) paser generator
  452. requires:    Pascal
  453. updated:    1986/09/23
  454.  
  455. language:    BNF ??
  456. package:    FMQ
  457. version:    ?
  458. parts:        paser generator w/error corrector generator
  459. author:        Jon Mauney
  460. how to get:    ftp from csczar.ncsu.edu
  461. description:    ?
  462. status:        ?
  463. contact:    ?
  464. updated:    1990/03/31
  465.  
  466. language:    BNF ??
  467. package:    ATS (Attribute Translation System)
  468. version:    ?
  469. parts:        ?
  470. author:        ? University of Saskatchewan ?
  471. how to get:    ?
  472. description:    generates table-driven LL(1) parsers with full insert-only
  473.         error recovery.     It also handles full left-attribute semantic
  474.         handling, which is a dream compared to using YACC's parser
  475.         actions.
  476. status:        ?
  477. contact:    ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
  478. updated:    1988/11/29
  479.  
  480. language:    BNF (Extended)
  481. package:    PCCTS (Purdue Compiler-Construction Tool Set)
  482. version:    1.10
  483. parts:        scanner generator, parser generator (LL(k)), documentation,
  484.         tutorial
  485. author:        Terence J. Parr <parrt@acm.org>, Will E. Cohen
  486.         <cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>
  487. how to get:    ftp pub/pccts/1.10 from marvin.ecn.purdue.edu
  488.     UK:        ftp computing/programming/languages/tools/pccts/* 
  489.         from src.doc.ic.ac.uk
  490.     Macintosh:    ftp pub/mac/* from maya.dei.unipd.it 
  491. description:    PCCTS is similar to a highly integrated version of YACC
  492.         and LEX; where ANTLR (ANother Tool for Language
  493.         Recognition) corresponds to YACC and DLG (DFA-based
  494.         Lexical analyzer Generator) functions like LEX.
  495.         However, PCCTS has many additional features which make
  496.         it easier to use for a wide range of translation
  497.         problems.  PCCTS grammars contain specifications for
  498.         lexical and syntactic analysis with selective backtracking
  499.         ("infinite lookahead"), semantic predicates, intermediate-form
  500.         construction and error reporting. Rules may employ Extended
  501.         BNF (EBNF) grammar constructs and may define parameters,
  502.         return values and local variables.  Languages described in
  503.         PCCTS are recognized via LL(k) parsers constructed in pure,
  504.         human-readable, C code.     Selective backtracking is available
  505.         to handle non-LL(k) constructs.     PCCTS parsers may be compiled 
  506.         with C++.
  507.         Now includes SORCERER, a tree parser generator. See entry below.
  508. ports:        Unix, DOS, OS/2, Macintosh
  509. portability:    very high
  510. discussion:    send mail with a body of "subscribe pccts-users your_name" 
  511.         to pccts-users-request@ahpcrc.umn.edu
  512. contact:    Terence J. Parr <parrt@acm.org>
  513.         Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port)
  514. updated:    1993/09/14
  515.  
  516. language:    BNF (very extended), yacc
  517. package:    PRE-CC Xtended
  518. version:    2.30
  519. parts:        library, parser generator (LL(oo)), translator(yacc->)
  520. author:        Peter Breuer
  521. how to get:    ftp pub/Programs/preccx230* from ftp.comlab.ox.ac.uk
  522.         (later versions available by subscription)
  523. description:    PRECCX is an infinite-lookahead compiler compiler for context
  524.         dependent grammars.  The generated code is ANSI C.
  525.         Specification scripts are in very EBNF with inherited and
  526.         synthetic attributes allowed. Scripts can be compiled in
  527.         separate modules, and linked together later.  Meta-production
  528.         rules allowed.    The technology is essentially LL(oo) with
  529.         optimizations. A converter for yacc scripts is available.
  530. reference:    "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
  531.         In E. Davies and A. Findlay (eds.),
  532.         Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
  533.         St. Cross Centre, Oxford, UK, 6-8 January 1993,
  534.         ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
  535.         UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
  536.         Herts SG9 9PL, UK, pp 167-182, 1993.
  537. ports:        unix, MS-DOS
  538. contact:    Peter Breuer <ptb@comlab.ox.ac.uk>,
  539.         Jonathan Bowen <bowen@comlab.ox.ac.uk>
  540. updated:    1992/08/25 
  541.  
  542. language:    BNF ??
  543. package:    LLGen
  544. version:    ?
  545. parts:        parser generator
  546. author:        ? Fischer and LeBlanc ?
  547. how to get:    ? ftp from csczar.ncsu.edu ?
  548. description:    LL(1) parser generator
  549. conformance:    subset of FMQ
  550. reference:    "Crafting A Compiler", by Fischer and LeBlanc
  551. status:        ?
  552. contact:    ?
  553. updated:    1990/03/31
  554.  
  555. language:    BNF ??
  556. package:    wacco
  557. version:    ?
  558. parts:        parser generator
  559. author:        ?
  560. how to get:    comp.sources.misc volume ?
  561. description:    LL(?) parser generator
  562. contact:    ?
  563. updated:    ?
  564.  
  565. language:    BNF (Extended), BNF (yacc), Modula-2
  566. package:    GMD Toolbox for Compiler Construction (aka Cocktail)
  567. version:    9209
  568. parts:        parser generator (LALR -> C, Modula-2), documentation,
  569.         parser generator (LL(1) -> C, Modula-2), tests,
  570.         scanner generator (-> C, Modula-2), tests
  571.         translator (Extended BNF -> BNF), translator (Modula-2 -> C),
  572.         translator (BNF (yacc) -> Extended BNF), examples
  573.         abstract syntax tree generator, attribute-evaluator generator,
  574.         code generator
  575. author:        ?
  576. how to get:    ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de
  577.     OS/2:    ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo 
  578. description:    A huge set of compiler building tools. 
  579. requires:    (ms-dos only) DJ Delorie's DOS extender (go32)
  580.     (OS/2 only) emx programming environment for OS/2
  581. ports:        msdos, unix, os/2
  582. discussion:    subscribe to Cocktail using listserv@eb.ele.tue.nl
  583. contact:    Josef Grosch <grosch@karlsruhe.gmd.de>
  584.     OS/2:    Willem Jan Withagen <wjw@eb.ele.tue.nl>
  585. updated:    1992/10/01
  586.  
  587. language:    BNF ????
  588. package:    T-gen
  589. version:    2.1
  590. parts:        parser generator, documentation, ?
  591. author:        Justin Graver <graver@comm.mot.com>
  592. how to get:    ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
  593. description:    T-gen is a general-purpose object-oriented tool for the 
  594.         automatic generation of string-to-object translators. 
  595.         It is written in Smalltalk and lives in the Smalltalk 
  596.         programming environment.  T-gen supports the generation 
  597.         of both top-down (LL) and bottom-up (LR) parsers, which 
  598.         will automatically generate derivation trees, abstract 
  599.         syntax trees, or arbitrary Smalltalk objects.  The simple 
  600.         specification syntax and graphical user interface are 
  601.         intended to enhance the learning, comprehension, and 
  602.         usefulness of T-gen.
  603. requires:    Smalltalk-80
  604. ports:        ParcPlace Objectworks/Smalltalk 4.0 & 4.1
  605. updated:    1992/10/18
  606.  
  607. language:    BNF 
  608. package:    Eli Compiler Construction System
  609. version:    3.5
  610. parts:        ?, documentation
  611. author:        ?
  612. how to get:    ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
  613.     Europe:    ftp unix/eli from ftp.uni-paderborn.de
  614. description:    Eli integrates off-the-shelf tools and libraries with
  615.         specialized language processors to generate complete compilers
  616.         quickly and reliably.  It simplifies the development of new
  617.         special-purpose languages, implementation of existing languages
  618.         on new hardware and extension of the constructs and features of
  619.         existing languages.
  620. ports:        Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
  621. discussion:    <eli-request@cs.colorado.edu>
  622. contact:    <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
  623. updated:    1993/11/01
  624.  
  625. language:    BNF (yacc)
  626. package:    NewYacc
  627. version:    1.0
  628. parts:        parser generator, documenation
  629. author:        Jack Callahan <callahan@mimsy.cs.umd.edu> 
  630. how to get:    ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
  631. description:    [someone want to fill it in? --ed]
  632. reference:    see Dec 89 CACM for a brief overview of NewYacc.
  633. updated:    1992/02/10
  634.  
  635. language:    BNF (yacc)
  636. package:    bison
  637. version:    1.22
  638. parts:        parser generator, documentation
  639. author:        Robert Corbett ?
  640. how to get:    ftp bison-1.16.tar.Z from a GNU archive site
  641. description:    ?
  642. bugs:        bug-gnu-utils@prep.ai.mit.edu
  643. restriction:    !! will apply the GNU General Public License to *your* code !!
  644. ports:        unix, atari, ?
  645. updated:    1993/09/14
  646.  
  647. language:    BNF (yacc), Lex
  648. package:    Bison++, Flex++
  649. version:    ?
  650. parts:        parser generator, scanner generator, documentation, samples
  651. author:        ? Alain Coetmeur <coetmeur@icdc.fr>
  652. how to get:    ftp pub/file/{bison,flex,misc}++.tar.gz from iecc.com
  653. description:    GNU's Yacc and Lex, retargeted to C++
  654. updated:    1993/07/08
  655.  
  656. language:    BNF (yacc)
  657. package:    ? jaccl ?
  658. version:    ?
  659. parts:        parser generator
  660. author:        Dave Jones <djones@megatest.uucp>
  661. how to get:    ?
  662. description:    a LR(1) parser generator
  663. updated:    1989/09/08
  664.  
  665. language:    BNF (yacc)
  666. package:    byacc (Berkeley Yacc)
  667. version:    1.9
  668. parts:        parser generator
  669. author:        Robert Corbett <Robert.Corbett@eng.sun.com>
  670. how to get:    ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
  671. description:    probably the best yacc variant around.    Previously known as
  672.         Zoo, and before that, as Zeus.
  673. updated:    1993/02/22
  674.  
  675. language:    BNF (yacc), Lex
  676. package:    Lex/Yacc for Turbo Pascal uploaded
  677. version:    ?
  678. parts:        parser generator, scanner generator, documentation?
  679. author:        ?
  680. how to get:    iecc.com (140.186.81.1) at pub/file/lyprg.zip.
  681. description:    Lex and Yacc retargeted to Pascal.
  682. contact:    ? dpoole@hydrogen.oscs.montana.edu (David Poole)
  683. updated:    1993/07/02
  684.  
  685. language:    BNF (yacc), Ada
  686. package:    aflex-ayacc
  687. version:    1.2a
  688. parts:        parser generator (Ada), scanner generator (Ada)
  689. author:        IRUS (Irvine Research Unit in Software)
  690. how to get:    ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
  691. description:    Lex and Yacc equivalents that produce Ada output
  692. announcements:    irus-software-request@ics.uci.edu
  693. contact:    irus-software-request@ics.uci.edu
  694. updated:    1993/01/06
  695.  
  696. language:    BNF (variant), Icon
  697. package:    Ibpag2 (Icon-Based Parser Generation System 2)
  698. version:    1.0 (beta)
  699. parts:        parser generator (Icon, SLR(1))
  700. author:        Richard L. Goerwitz <goer@midway.uchicago.edu>
  701. how to get:    comp.sources.misc archive
  702. description:    Ibpag2 is a parser generator for Icon.    It does most
  703.         of what you would expect.  Latest version can handle both
  704.         SLR(1) and even GLR (Tomita) grammars.
  705. ports:        unix
  706. portability:    ? (Unix dependencies?)
  707. updated:    1993/07/13
  708.  
  709. language:    BNF ?, Gofer
  710. package:    Ratatosk ?
  711. version:    ?
  712. parts:        parser generatr (Gofer)
  713. author:        Torben AEgidius Mogensen <torbenm@diku.dk>
  714. how to get:    ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
  715. description:    Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
  716.         that generates purely functional parsers (also in Gofer). Even
  717.         though the sematic value of a production is a function of the
  718.         attributes of its right-hand side (and thus apparently purely
  719.         synthesized), inherited attributes are easily simulated by
  720.         using higher order functions.
  721. ports:        ?
  722. updated:    ?
  723.  
  724. language:    BNF
  725. package:    lalr.ss - An LALR(1) parser generator
  726. version:    0.9 
  727. parts:        parser generator (->Scheme)
  728. author:        Mark Johnson <mj@cs.brown.edu>
  729. how to get:    ftp new/lalr.shar from the Scheme Repository
  730. description:    A LALR(1) parser generator in and for Scheme.
  731. requires:    Scheme
  732. updated:    1993/05/24
  733.  
  734. language:    BURS ?
  735. package:    Iburg
  736. version:    ?
  737. parts:        parser generator?
  738. author:        Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
  739.         <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
  740. how to get:    ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
  741. description:    Iburg is a program that generates a fast tree parser.  It is
  742.         compatible with Burg. Both programs accept a cost-augmented
  743.         tree grammar and emit a C program that discovers an optimal
  744.         parse of trees in the language described by the grammar. They
  745.         have been used to construct fast optimal instruction selectors
  746.         for use in code generation.  Burg uses BURS; Iburg's matchers
  747.         do dynamic programming at compile time.
  748. updated:    1993/02/10
  749.  
  750. language:    Candle, IDL (Interface Description Language)
  751. package:    Scorpion System
  752. version:    6.0
  753. parts:        software development environment for developing
  754.         software development environments, documentation
  755. author:        University of Arizona
  756. how to get:    ftp scorpion/* from cs.arizona.edu
  757. description:    20 tools that can be used to construct specialized
  758.         programming environments.
  759.         The Scorpion Project was started by Prof. Richard
  760.         Snodgrass as an outgrowth of the SoftLab Project (which pro-
  761.         duced the IDL Toolkit) that he started when he was at the
  762.         University of North Carolina.  The Scorpion Project is
  763.         directed by him at the University of Arizona and by Karen
  764.         Shannon at the University of North Carolina at Chapel Hill.
  765. reference:    "The Interface Description Language: Definition and Use," 
  766.         by Richard Snodgrass, Computer Science Press, 1989,
  767.         ISBN 0-7167-8198-0
  768. ports:        Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
  769. discussion:    info-scorpion-request@cs.arizona.edu
  770. contact:    scorpion-project@cs.arizona.edu
  771. updated:    1993/11/04
  772.  
  773. language:    COCOL (EBNF variant)
  774. package:    COCO/R
  775. version:    1.34
  776. parts:        parser generator(LL(1))
  777. author:        Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  778.         Port to Modula-2 done by Marc Brandis, Christof Brass 
  779.         and Pat Terry <cspt@alpha.ru.ac.za>
  780. how to get:    ftp Oberon/Examples/Coco from neptune.inf.ethz.ch
  781.     Modula-2:    ftp pub/coco from alpha.ru.ac.za 
  782. description:    Coco/R generates recursive descent parsers and their associated
  783.         scanners from attributed grammars.  Coco/R can bootstrap itself
  784.         to generate its own driver, parser, scanner, and semantic
  785.         evaluator from the attributed grammar CR.ATG.  This grammar
  786.         thus serves as an an example of how to write compiler
  787.         descriptions for Coco.    There are also other simpler examples
  788.         showing its use.
  789. references:    _A compiler generator for microcomputers_, by Rechenberg 
  790.         and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
  791. bugs:        MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
  792.         Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  793. requires:    Oberon or Modula-2
  794. ports:        MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
  795.         QuickMod 2.2; Logitech 3.03.  Macintosh: Apple MacMeth
  796. status:        Oberon version is freely available?, Modula-2 version is
  797.         free to academic sites; commercial use requires a license
  798. updated:    1994/01/13
  799.  
  800. language:    EAG (Extended Affix Grammar)
  801. package:    EAG
  802. version:    first public release
  803. parts:        recognizer generator, transduccer generator, 
  804.         translator generator, editor generator, documentation
  805. author:        Marc Seutter <marcs@cs.kun.nl>
  806. how to get:    ftp pub/eag/* from hades.cs.kun.nl
  807. description:    The Extended Affix Grammar formalism, or shortly EAG, is a
  808.         formalism for describing both the context free and the context
  809.         sensitive syntax of languages.    EAG is a member of the family
  810.         of two-level grammars. They are very closely related to
  811.         two-level van Wijngaarden grammars.  The EAG compiler will
  812.         generate either a recognizer or a transducer or a translator or
  813.         a syntax directed editor for a language described in the EAG
  814.         formalism.  [What's a tranducer? --ed]
  815. updated:    1993/09/14
  816.  
  817. language:    lex
  818. package:    flex
  819. version:    2.3.8
  820. parts:        scanner generator
  821. author:        Vern Paxson <vern@ee.lbl.gov>
  822. how to get:    ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
  823. description:    ?
  824. updated:    ?
  825.  
  826. language:    Milarepa 
  827. package:    Milarepa Perl/BNF Parser 
  828. version:    Prototype 1.0
  829. parts:        parser-generator, examples, tutorial
  830. author:        Jeffrey Kegler <jeffrey@netcom.com>
  831. how to get:    comp.lang.perl, direct by E-mail.
  832.         The author is seeking an FTP site to hold the software.
  833. description:    Milarepa takes a source grammar in the Milarepa language (a
  834.         straightforward mix of BNF and Perl) and generates a Perl file,
  835.         which, when enclosed in a simple wrapper, parses some third
  836.         language described by the source grammar.
  837.         This is intended to be a real hacker's parser.    It is not
  838.         restricted to LR(k), and the parse logic follows directly from
  839.         the BNF.  It handles ambiguous grammars, ambiguous tokens
  840.         (tokens which were not positively identified by the lexer) and
  841.         allows the programmer to change the start symbol.  The grammar
  842.         may not be left recursive.  The input must be divided into
  843.         sentences of a finite maximum length.  There is no fixed
  844.         distinction between terminals and non-terminals, that is, a
  845.         symbol can both match the input AND be on the left hand side of
  846.         a production.  Multiple Marpa grammars are allowed in a single
  847.         perl program.
  848.         It's only a prototype primarily due to poor speed.  This is
  849.         intended to be remedied after Perl 5.0 is out.
  850. requires:    perl
  851. updated:    1993/03/17
  852.  
  853. language:    Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
  854. package:    Tim Budd's C++ implementation of Kamin's interpreters
  855. version:    ?
  856. parts:        interpretors, documentation
  857. author:        Tim Budd <budd@cs.orst.edu>
  858. how to get:    ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
  859. description:    a set of interpretors written as subclasses based on
  860.         "Programming Languages, An Interpreter-Based Approach",
  861.         by Samuel Kamin.
  862. requires:    C++
  863. status:        ? 
  864. contact:    Tim Budd <budd@fog.cs.orst.edu>
  865. updated:    1991/09/12
  866.  
  867. language:    perl, yacc
  868. iref:        (Perl) perl-byacc
  869.  
  870. language:    Relation Grammar
  871. package:    rl
  872. version:    ?
  873. parts:        ?
  874. author:        Kent Wittenburg <kentw@bellcore.com>
  875. how to get:    fto rl/* from flash.bellcore.com
  876. description:    The RL files contain code for defining Relational Grammars and
  877.         using them in a bottom-up parser to recognize and/or parse
  878.         expressions in Relational Languages.  The approach is a
  879.         simplification of that described in Wittenburg, Weitzman, and
  880.         Talley (1991), Unification-Based Grammars and Tabular Parsing
  881.         for Graphical Languages, Journal of Visual Languages and
  882.         Computing 2:347-370.
  883.         This code is designed to support the definition and parsing of
  884.         Relational Languages, which are characterized as sets of
  885.         objects standing in user-defined relations.  Correctness and
  886.         completeness is independent of the order in which the input is
  887.         given to the parser.  Data to be parsed can be in many forms as
  888.         long as an interface is supported for queries and predicates
  889.         for the relations used in grammar productions.    To date, this
  890.         software has been used to parse recursive pen-based input such
  891.         as math expressions and flowcharts; to check for data integrity
  892.         and design conformance in databases; to automatically generate
  893.         constraints in drag-and-drop style graphical interfaces; and to
  894.         generate graphical displays by parsing relational data and
  895.         generating output code.
  896. requires:    Common Lisp
  897. ports:        Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
  898. updated:    1992/10/31
  899.  
  900. language:    S/SL (Syntax Semantic Language)
  901. package:    ssl
  902. version:    ?
  903. parts:        parser bytecode compiler, runtime
  904. author:        Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language), 
  905.         Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
  906. how to get:    ftp pub/ssl.tar.Z from neat.cs.toronto.edu
  907. description:    A better characterization is that S/SL is a language 
  908.         explicitly designed for making efficient recusive-descent 
  909.         parsers.  Unlike most other languages, practicially the 
  910.         LEAST expensive thing you can do in S/SL is recur.  A
  911.         small language that defines input/output/error token
  912.         names (& values), semantic operations (which are really
  913.         escapes to a programming language but allow good
  914.         abstration in the pseudo-code), and a pseudo-code
  915.         program that defines a grammar by the token stream the
  916.         program accepts.  Alternation, control flow, and
  917.         1-symbol lookahead constructs are part of the
  918.         language.  What I call an S/SL "implementation", is a
  919.         program that compiles this S/SL pseudo-code into a
  920.         table (think byte-codes) that is interpreted by the
  921.         S/SL table-walker (interpreter).  I think the pseudo-code 
  922.         language is LR(1), and that the semantic mechanisms turn it
  923.         into LR(N) relatively easily.
  924.         + more powerful and cleaner than yac
  925.         - slower than yacc
  926. reference:    + Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
  927.         Syntax/Semantic Language, Computer Systems Research
  928.         Institute, University of Toronto.  
  929.         + "An Introduction to S/SL: Syntax/Semantic Language" by 
  930.         R.C. Holt, J.R.     Cordy, and D.B. Wortman, in ACM Transactions 
  931.         on Programming Languages and Systems (TOPLAS), Vol 4, No.
  932.         2, April 1982, Pages 149-178.
  933. updated:    1989/09/25
  934.  
  935. language:    TXL
  936. package:    TXL: Tree Transformation Language
  937. version:    7.4
  938. parts:        translator, documentation, tutorial, examples
  939. author:        Jim Cordy <cordy@qucis.queensu.ca>
  940. how to get:    ftp pub/txl/* from ftp.qucis.queensu.ca 
  941. description:    TXL is a language for performing source to source
  942.         transformations and is well suited for rapidly prototyping
  943.         new languages and language processors.    It has also been used to
  944.         prototype specification languages, command languages, and more
  945.         traditional program transformation tasks such as constant
  946.         folding, type inference, source optimization and reverse
  947.         engineering.  TXL takes as input an arbitrary context-free
  948.         grammar in extended BNF-like notation, and a set of
  949.         show-by-example transformation rules to be applied to inputs
  950.         parsed using the grammar.  TXL is a functional/rule-based
  951.         hybrid programming language, using the paradigm of structural
  952.         transformation.
  953. reference:    Several listed in software documentation
  954. updated:    1993/08/04
  955.  
  956. language:    BNF (extended)
  957. package:    SORCERER: A Simple Tree Parser Generator
  958. version:    1.00B
  959. parts:        translator, documentation, tutorial, examples
  960. author:        Terence Parr <parrt@s1.arc.umn.edu>
  961. how to get:    ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu 
  962. description:    SORCERER is more suitable for the class of translation problems
  963.         lying between those solved by code-generator generators and by
  964.         full source-to-source translator generators.  SORCERER
  965.         generates simple, flexible, top-down, tree parsers that, in
  966.         contrast to code-generators, may execute actions at any point
  967.         during a tree walk.  SORCERER accepts extended BNF notation,
  968.         allows predicates to direct the tree walk with semantic and
  969.         syntactic context information, and does not rely on any
  970.         particular intermediate form, parser generator, or other
  971.         pre-existing application.
  972. discussion:    send mail with a body of "subscribe pccts-users your_name" to
  973.         pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
  974. help:        from mailing list
  975. support:    actively supported, from mailing list
  976. reference:    Several listed in software documentation
  977. updated:    1994/02/15
  978.  
  979. mathematical tools and languages
  980. -------------------------------------------------------------------------------
  981. category:    mathematical tools and languages
  982. description:    These are either special-purpose languages and tools, or
  983.         general purpose langauges and tools that have traditionally
  984.         been used for mathematical and scientific computing task.
  985. lref:        Fortran 
  986. lref:        PCN
  987. lref:        CLP
  988. lref:        Sisal
  989.  
  990. language:    APL
  991. package:    I-APL
  992. version:    ?
  993. parts:        ?
  994. author:        ?
  995. how to get:    ftp languages/apl/* from watserv1.waterloo.edu
  996. description:    ?
  997. updated:    1992/07/06
  998.  
  999. language:    APL
  1000. package:    APLWEB
  1001. version:    ?
  1002. parts:        translator(web->apl), translator(web->TeX)
  1003. author:        Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
  1004. how to get:    ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
  1005. description:    [Should this be listed with the Web entries? -- Ed.]
  1006. updated:    1992/12/07
  1007.  
  1008. language:    APL
  1009. iref:        (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
  1010.  
  1011. language:    J
  1012. package:    J-mode
  1013. version:    ?
  1014. parts:        emacs macros
  1015. author:        ?
  1016. how to get:    ftp pub/j/gmacs/j-interaction-mode.el from think.com
  1017. description:    add on to J
  1018. updated:    1991/03/04
  1019.  
  1020. language:    RLaB language (math manipulation - MATLAB-like)
  1021. package:    RLaB
  1022. version:    0.95
  1023. parts:        interpreter, libraries, documentation
  1024. author:        Ian Searle <ians@eskimo.com>
  1025. how to get:    ftp pub/RLaB/* from evans.ee.adfa.oz.au
  1026. description:    RLaB is a "MATLAB-like" matrix-oriented programming
  1027.         language/toolbox.  RLaB focuses on creating a good experimental
  1028.         environment (or laboratory) in which to do matrix math
  1029.         Currently RLaB has numeric scalars and matrices (real and
  1030.         complex), and string scalars, and matrices. RLaB also contains
  1031.         a list variable type, which is a heterogeneous associative
  1032.         array.
  1033. bugs:        Ian Searle <ians@eskimo.com>
  1034. restriction:    GNU General Public License
  1035. requires:    GNUPLOT, lib[IF]77.a (from f2c)
  1036. ports:        many unix, OS/2, Amiga
  1037. updated:    1993/10/27
  1038.  
  1039. language:    octave language (math manipulation - MATLAB-like)
  1040. package:    octave
  1041. version:    1.0
  1042. parts:        interpreter, libraries, documentation
  1043. author:        John W. Eaton
  1044. how to get:    ftp /pub/octave/* from ftp.che.utexas.edu
  1045.         also, any GNU archive site (see archive listing below)
  1046. description:    Octave is a high-level language, primarily intended for
  1047.         numerical computations.     It provides a convenient command line
  1048.         interface for solving linear and nonlinear problems
  1049.         numerically.
  1050.         Octave can do arithmetic for real and complex scalars and
  1051.         matrices, solve sets of nonlinear algebraic equations,
  1052.         integrate functions over finite and infinite intervals, and
  1053.         integrate systems of ordinary differential and
  1054.         differential-algebraic equations.
  1055. bugs:        bug-octave@che.utexas.edu
  1056. restriction:    GNU General Public License
  1057. requires:    gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
  1058. ports:        several
  1059. updated:    1994/2/23
  1060.  
  1061. language:    FUDGIT language (math manipulation)
  1062. package:    FUDGIT
  1063. version:    2.27
  1064. parts:        interpreter
  1065. author:        Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
  1066. how to get:    ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
  1067. description:    FUDGIT is a double-precision multi-purpose fitting program.  It
  1068.         can manipulate complete columns of numbers in the form of
  1069.         vector arithmetic. FUDGIT is also an expression language
  1070.         interpreter understanding most of C grammar except pointers.
  1071.         Morever, FUDGIT is a front end for any plotting program
  1072.         supporting commands from stdin. It is a nice mathematical
  1073.         complement to GNUPLOT, for example.
  1074. requires:    GNUPLOT
  1075. ports:        AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
  1076. updated:    1993/02/22
  1077.  
  1078. language:    Unix BC (arbitrary-precision arithmetic language)
  1079. package:    C-BC
  1080. version:    1.1
  1081. parts:        bytecode compiler, interpreter, documentation, examples
  1082. author:        Mark Hopkins <mark@freenet.uwm.edu>
  1083. how to get:    alt.sources (10/04/93).
  1084. description:    A strongly typed version of BC with expanded C-like syntax,
  1085.         more base types, with ability to form array and pointer types
  1086.         of any dimension and to allocate/free arrays at run-time.
  1087. conformance:    Most POSIX-BC features supported, except functions must be
  1088.         declared consistently and declared before first use.  String
  1089.         handling slightly different.
  1090. reference:    C-BC implementation notes contained with software documentation
  1091. requires:    ANSI-C compiler
  1092. ports:        DOS, Unix
  1093. portability:    No system dependent features present.
  1094. updated:    1993/08/23
  1095.  
  1096. language:    Unix BC (arbitrary-precision arithmetic language)
  1097. package:    GNU BC
  1098. version:    1.02
  1099. parts:        parser (yacc), interpreter, BC math library
  1100. author:        Philip A. Nelson <phil@cs.wwu.edu>
  1101. how to get:    ftp bc-1.02.tar.Z from a GNU archive site
  1102. description:    BC is an arbitrary precision numeric processing language with a
  1103.         C-like syntax that traditionally provided a front-end to DC.
  1104.         This version, however, is self-contained and internally
  1105.         executes its own compiled code (unrelated to DC code).
  1106. restriction:    Source code falls under the GNU CopyLeft.
  1107. requires:    vsprintf and vfprintf routines
  1108. ports:        Unix (BSD, System V, MINIX, POSIX)
  1109. conformance:    Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
  1110. updated:    ?
  1111.  
  1112. language:    Calc?  (symbolic math calculator)
  1113. package:    Calc
  1114. version:    2.02
  1115. parts:        interpreter, emacs mode, documentation
  1116. author:        Dave Gillespie <daveg@cs.caltech.edu>
  1117. how to get:    ftp calc-2.02.tar.z from a GNU archive site
  1118. description:    Calc is an extensible, advanced desk calculator and
  1119.         mathematical tool written in Emacs Lisp that runs as part of
  1120.         GNU Emacs.  It is accompanied by the "Calc Manual", which
  1121.         serves as both a tutorial and a reference.  If you wish, you
  1122.         can use Calc as only a simple four-function calculator, but it
  1123.         also provides additional features including choice of algebraic
  1124.         or RPN (stack-based) entry, logarithms, trigonometric and
  1125.         financial functions, arbitrary precision, complex numbers,
  1126.         vectors, matrices, dates, times, infinities, sets, algebraic
  1127.         simplification, differentiation, and integration.
  1128. bugs:        ?
  1129. updated:    ?
  1130.  
  1131. language:    C-like caluculator
  1132. package:    Arbitrary precision calculator
  1133. version:    1.26.4
  1134. parts:        interpreter
  1135. author:        David I. Bell <dbell@canb.auug.org.au>
  1136. how to get:    ftp pub/calc from ftp.uu.net
  1137. description:    Arbitrary precision C-like calculator [similar to BC? --ed]
  1138. ports:        Linux
  1139. updated:    1993/06/15
  1140.  
  1141. language:    Unix DC (arbitrary-precision arithmetic language)
  1142. package:    GNU DC
  1143. version:    0.2
  1144. parts:        interpreter
  1145. author:        ?
  1146. how to get:    ftp dc-0.2.tar.Z from a GNU archive site
  1147. description:    DC is the language for an arbitrary precision postfix
  1148.         calculator.  This version is a subset of DC that handles all
  1149.         the Unix DC operations, except the (undocumented) array
  1150.         operations.
  1151. status:        Attempting integration with GNU BC.
  1152. updated:    1993/05/21
  1153.  
  1154. language:    Fortran
  1155. package:    f2c
  1156. version:    1993.04.28
  1157. parts:        translator (to C), postscript documentation, man pages, 
  1158.         support libraries.
  1159. author:        S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
  1160. how to get:    ftp from netlib@research.att.com:netlib/f2c/src/*
  1161. description:    translator (Fortran 77 to ANSI C or C++)
  1162. bugs:        D. M. Gay <dmg@research.att.com>
  1163. updated:    1993 April 27
  1164.  
  1165. language:    Fortran
  1166. package:    Floppy
  1167. version:    ?
  1168. parts:        ?
  1169. author:        ?
  1170. how to get:    ffccc in comp.sources.misc archive volume 12
  1171. description:    ?
  1172. contact:    ?
  1173. updated:    1992/08/04
  1174.  
  1175. language:    Fortran
  1176. package:    Flow
  1177. version:    ?
  1178. parts:        ?
  1179. author:        Julian James Bunn <julian@vxcrna.cxern.ch>
  1180. how to get:    comp.sources.misc archive volume 31
  1181. description:    The Flow program is a companion to Floppy, it allows the user 
  1182.         to produce various reports on the structure of Fortran 
  1183.         77 code, such as flow diagrams and common block tables.
  1184. requires:    Floppy
  1185. ports:        VMS, Unix, CMS
  1186. updated:    ?
  1187.  
  1188. language:    Fortran
  1189. package:    Adaptor (Automatic DAta Parallelism TranslatOR)
  1190. version:    1.0
  1191. parts:        preprocessor, library, documentation
  1192. author:        ?
  1193. how to get:    ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
  1194. description:    Adaptor is a tool that transforms data parallel
  1195.         programs written in Fortran with array extensions,
  1196.         parallel loops, and  layout directives    to parallel
  1197.         programs with explicit message passing.
  1198.         ADAPTOR is not a compiler but a source to source
  1199.         transformation that generates Fortran 77 host and
  1200.         node programs with message passing.  The new
  1201.         generated source codes have to be compiled by the
  1202.         compiler of the parallel machine. 
  1203. ports:        CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
  1204.         network of Suns, or RS/6000s
  1205. contact:    Thomas Brandes <brandes@gmdzi.gmd.de>
  1206. updated:    1993/06
  1207.  
  1208. language:    Fortran, C
  1209. package:    cfortran.h
  1210. version:    2.6
  1211. parts:        macros, documentation, examples
  1212. author:        Burkhard Burow
  1213. how to get:    ftp cfortran/* from zebra.desy.de
  1214. description:    cfortran.h is an easy-to-use powerful bridge between
  1215.         C and FORTRAN. It provides a completely transparent, machine
  1216.         independent interface between C and FORTRAN routines and
  1217.         global data.
  1218.         cfortran.h provides macros which allow the C preprocessor to
  1219.         translate a simple description of a C (Fortran) routine or
  1220.         global data into a Fortran (C) interface.
  1221. reference:    reviewed in RS/Magazine November 1992 and
  1222.         a user's experiences with cfortran.h are to be described
  1223.         in the 1/93 issue of Computers in Physics.
  1224. ports:        VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
  1225.         Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
  1226. portability:    high
  1227. contact:    burow@vxdesy.cern.ch
  1228. updated:    1992/04/12
  1229.  
  1230. language:    Fortran
  1231. package:    fsplit
  1232. version:    ?
  1233. parts:        ?
  1234. author:        ?
  1235. how to get:    ?
  1236. description:    a tool to split up monolithic fortran programs
  1237. updated:    ?
  1238.  
  1239. language:    Fortran
  1240. package:    ?
  1241. version:    ?
  1242. parts:        ?
  1243. author:        Steve Mccrea <mccrea@gdwest.gd.com>
  1244. how to get:    ?
  1245. description:    a tool to split up monolithic fortran programs
  1246. requires:    new awk
  1247. updated:    ?
  1248.  
  1249. language:    Fortran
  1250. package:    Fortran77 -> Fortran90 converter
  1251. version:    ? 1
  1252. parts:        translator(Fortran 77 -> Fortran 90), documentation?
  1253. author:        metcalf@cernvm.cern.ch <Michael Metcalf>
  1254. how to get:    ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
  1255. description:    A Fortran77 to Fortran90 translator.  There's a number of
  1256.         significant differences between the two Fortrans that makes
  1257.         a package like this useful.
  1258. updated:    1993/07/17
  1259.  
  1260. language:    J
  1261. package:    J from ISI
  1262. version:    6
  1263. parts:        interpreter, tutorial
  1264. author:        Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
  1265. how to get:    ftp languages/apl/j/* from watserv1.waterloo.edu
  1266. description:    J was designed and developed by Ken Iverson and Roger Hui.  It
  1267.         is similar to the language APL, departing from APL in using
  1268.         using the ASCII alphabet exclusively, but employing a spelling
  1269.         scheme that retains the advantages of the special alphabet
  1270.         required by APL. It has added features and control structures
  1271.         that extend its power beyond standard APL.  Although it can be
  1272.         used as a conventional procedural programming language, it can
  1273.         also be used as a pure functional programming language.
  1274. ports:        Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
  1275.         IBM-PC, Atari, 3b1, Amiga
  1276. updated:    1992/10/31
  1277.  
  1278. language:    Ratfor
  1279. package:    ? ratfor ?
  1280. version:    ?
  1281. parts:        translator(Ratfor->Fortran IV)
  1282. author:        Brian Kernighan and P.J. Plauger (wrote the book anyway)
  1283. how to get:    comp.sources.unix archives volume 13
  1284. description:    Ratfor is a front end language for Fortran.  It was designed
  1285.         to give structured control structures to Fortran.  It is
  1286.         mainly of historical significance.
  1287. updated:    ?
  1288.  
  1289. language:    Y (cross between C and Ratfor)
  1290. package:    y+po
  1291. version:    ?
  1292. parts:        compiler
  1293. author:        Jack W. Davidson and Christopher W. Fraser
  1294. how to get:    ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
  1295. description:    Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
  1296.         idea and other optimization ideas came from] along with the Y
  1297.         compiler [cross between C+ratfor] is ftpable from
  1298.         ftp.cs.princeton.edu: /pub/y+po.tar.Z.    It is a copy of the
  1299.         original distribution from the University of Arizona during the
  1300.         early 80's, totally unsupported, almost forgotten [do not bug
  1301.         the authors] old code, possibly of interest to
  1302.         compiler/language hackers.
  1303. reference:    Jack W. Davidson and Christopher W. Fraser, "The Design and
  1304.         Application of a Retargetable Peephole Optimizer", TOPLAS, Apr.
  1305.         1980.
  1306.         Jack W. Davidson, "Simplifying Code Through Peephole
  1307.         Optimization" Technical Report TR81-19, The University of
  1308.         Arizona, Tucson, AZ, 1981.
  1309.         Jack W. Davidson and Christopher W. Fraser, "Register
  1310.         Allocation and Exhaustive Peephole Optimization"
  1311.         Software-Practice and Experience, Sep. 1984.
  1312. status:        history
  1313. updated:    ?
  1314.  
  1315. electrical engineering languages
  1316. -------------------------------------------------------------------------------
  1317. category:    electrical engineering languages
  1318. description:    These are languages used for simulating, designing, and
  1319.         specifying circuits.
  1320.  
  1321. language:    CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
  1322. package:    Ptolemy
  1323. version:    0.4.1
  1324. parts:        grahpical algorithm layout, code generator, simulator
  1325. author:        ?
  1326. how to get:    ftp pub/ptolemy/* from ptolemy.bekeley.edu
  1327. description:    Ptolemy provides a highly flexible foundation for the
  1328.         specification, simulation, and rapid prototyping of systems.
  1329.         It is an object oriented framework within which diverse models
  1330.         of computation can co-exist and interact.  For example, using
  1331.         Ptolemy a data-flow system can be easily connected to a
  1332.         hardware simulator which in turn may be connected to a
  1333.         discrete-event system, etc.  Because of this, Ptolemy can be
  1334.         used to model entire systems.
  1335.         In addition, Ptolemy now has code generation capabilities.
  1336.         from a flow graph description, Ptolemy can generate both C code
  1337.         and DSP assembly code for rapid prototyping.  Note that code
  1338.         generation is not yet complete, and is included in the current
  1339.         release for demonstration purposes only.
  1340. requires:    C++, C
  1341. ports:        Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
  1342. status:        active research project
  1343. discussion:    ptolemy-hackers-request@ohm.berkeley.edu
  1344. contact:    ptolemy@ohm.berkeley.edu
  1345. updated:    1993/04/22
  1346.  
  1347. language:    EDIF (Electronic Design Interchange Format)
  1348. package:    Berkeley EDIF200 
  1349. version:    7.6
  1350. parts:        translator-building toolkit
  1351. author:        Wendell C. Baker and Prof A. Richard Newton of the Electronics 
  1352.         Research Laboratory, Department of Electrical Engineering and 
  1353.         Computer Sciences at the University of California, Berkeley, CA
  1354. how to get:    ftp from pub/edif in ic.berkeley.edu
  1355. description:    ?
  1356. restriction:    no-profit w/o permission
  1357. ports:        ?
  1358. updated:    1990/07
  1359.  
  1360. language:    Verilog, XNF
  1361. package:    XNF to Verilog Translator
  1362. version:    ?
  1363. parts:        translator(XNF->Verilog)
  1364. author:        M J Colley <martin@essex.ac.uk>
  1365. how to get:    ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
  1366. description:    This program was written by a postgraduate student as part
  1367.         of his M.Sc course, it was designed to form part a larger
  1368.         system operating with the Cadence Edge 2.1 framework. This
  1369.         should be born in mind when considering the construction
  1370.         and/or operation of the program.
  1371. updated:    ?
  1372.  
  1373. language:    VHDL
  1374. package:    ALLIANCE
  1375. version:    1.1
  1376. parts:        compiler, simulator, tools and environment, documentation
  1377. author:        ?
  1378. how to get:    ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
  1379. description:    ALLIANCE 1.1 is a complete set of CAD tools for teaching
  1380.         Digital CMOS VLSI Design in Universities. It includes VHDL
  1381.         compiler and simulator, logic synthesis tools, automatic place
  1382.         and route, etc...  ALLIANCE is the result of a ten years effort
  1383.         at University Pierre et Marie Curie (PARIS VI, France).
  1384. ports:        Sun4, also not well supported: Mips/Ultrix, 386/SystemV
  1385. discussion:    alliance-request@masi.ibp.fr
  1386. contact:    cao-vlsi@masi.ibp.fr
  1387. updated:    1993/02/16
  1388. -- 
  1389. Send compilers articles to compilers@iecc.com or
  1390. {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.
  1391.